﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestWorkPart2
{
    class Human
    {
        private string firstName;
        private string lastName;
        private DateTime dateOfBirth;

        public Human(string firstName, string lastName, DateTime dateOfBirth)
        {
            this.firstName = firstName;
            this.lastName = lastName;
            this.dateOfBirth = dateOfBirth;
        }

        public string FirstName
        {
            get
            {
                return firstName;
            }
            set
            {
                if (String.IsNullOrEmpty(firstName))
                {
                    firstName = value;
                }
                else
                {
                    Console.WriteLine("Ошибка! Имя не может быть пустым.");
                }
            }
        }

        public string LastName
        {
            get
            {
                return lastName;
            }
            set
            {
                if (String.IsNullOrEmpty(lastName))
                {
                    lastName = value;
                }
                else
                {
                    Console.WriteLine("Ошибка! Фамилия не может быть пустой.");
                }
            }
        }

        public DateTime DateOfBirth
        {
            get
            {
                return dateOfBirth;
            }
            set
            {
                if (dateOfBirth.CompareTo(DateTime.Today) > 0)
                {
                    dateOfBirth = value;
                }
                else
                {
                    Console.WriteLine("Ошибка! Введенная дата позже текущей.");
                }
            }
        }

        public void PrintInfoToConsole()
        {
            Console.WriteLine("Имя фамилия - {0} {1}, дата рождения - {2}", firstName, lastName, dateOfBirth);
        }
    }
}
